1
Taxonomie de la concurrence : Processus, multiplexage d'entrée/sortie et threads
AI031Lesson 12
00:00

Dans le domaine des systèmes informatiques, concurrence au niveau de l'application c'est le chevauchement intentionnel des flux logiques de contrôle afin d'améliorer les performances et la réactivité. C'est une abstraction fonctionnelle : un programme est divisé en tâches indépendantes pouvant être intercalées ou exécutées en parallèle.

1. La taxonomie de la concurrence

Les développeurs choisissent généralement entre trois mécanismes fondamentaux pour gérer ces flux concurrents :

  • Processus : Haute isolation avec espaces d'adressage séparés ; nécessite une communication interprocessus (IPC) mediée par le noyau.
  • Multiplexage d'entrée/sortie : Un seul flux qui bascule manuellement entre les événements « prêts » (machines à états).
  • Threads : Flux légers partageant un même espace d'adressage virtuel pour un échange de données facile.
Programmes concurrentsSéquentielParallèleRaisons principales :Masquer la latence d'entrée/sortieRéactivité de l'interface utilisateurMise à l'échelle sur multi-cœursServeurs multi-utilisateurs

2. Exécution logique versus physique

Bien que tous les programmes parallèles sont concurrents, tous les programmes concurrents ne sont pas parallèles. Le parallélisme est l'exécution physique des flux sur des cœurs matériels distincts. La concurrence est la conception logique qui permet une telle exécution.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>